package com.wuliupai.delivery.wuliupaidelivery.activity;

import com.wuliupai.delivery.wuliupaidelivery.R;

import org.androidannotations.annotations.EActivity;


/**
 * Descriptions：
 * <p>
 * Author：ChenME
 * Date：2017/5/4
 * Email：ibelieve1210@163.com
 */
@EActivity(R.layout.activity_show_all_orders_in_map)
public class ShowAllOrdersInMapActivity extends AppBaseActivity {

//    @Bean(CommonUtils.class)
//    CommonUtils cUtils;
//
//    @ViewById(R.id.mapView)
//    MapView mapView;
//
//    @ViewById(R.id.cv_return2CurrentLocation)
//    CardView cv_return2CurrentLocation;//回到当前位置
//
//    @ViewById(R.id.cv_searchResult)
//    CardView cv_searchResult;//搜索结果布局
//    @ViewById(R.id.rv_searchResult)
//    RecyclerView rv_searchResult;//搜索结果
//    @ViewById(R.id.iv_arrowIcon)
//    ImageView iv_arrowIcon;//箭头
//
//    //定位间隔
//    private final int locationDirection = 5000;
//
//    private List<OrderBean> orderList;
//
//    private boolean isMapAlreadyLoad = false;//地图是否已经加载完成
//    private boolean isListViewShow = false;//搜索结果是否展示
//
//    private ShowAllOrdersInMapActivity _activity;
//
//    private BaiduMap mBaiduMap;//百度地图
//    private LocationClient mLocClient;
//    private LatLng currentLatLng;//当前位置
//
//    @AfterViews
//    void onPageStart() {
//        _activity = this;
//        orderList = new ArrayList<>();
//
//        mBaiduMap = mapView.getMap();
//        mLocClient = new LocationClient(_activity);
//        getOrderList();
//        initAndStartLocation();
//    }
//
//    /**
//     * 初始化并开启定位
//     */
//    private void initAndStartLocation() {
//        LocationUtil.initLocationClient(mLocClient, 5);
//
//        mapView.showZoomControls(true);// 显示缩放控件
//        mapView.showScaleControl(true);// 显示比例尺
//
//        MyLocationConfiguration.LocationMode mCurrentMode = MyLocationConfiguration.LocationMode.NORMAL;
//        mBaiduMap.setMyLocationConfigeration(new MyLocationConfiguration(mCurrentMode, true, null));
//        // 开启定位图层
//        mBaiduMap.setMyLocationEnabled(true);
//
//        mBaiduMap.setOnMapLoadedCallback(() -> {
//
//            isMapAlreadyLoad = true;
//
//            cv_return2CurrentLocation.setVisibility(View.VISIBLE);
//
//            //设置比例尺位置
//            mapView.setScaleControlPosition(new Point(cUtils.dp2px(10), cUtils.dp2px(57)));
//
//            //设置缩放按钮的位置
//            int screenWidth = _activity.getWindowManager().getDefaultDisplay().getWidth();
//            int screenHeight = _activity.getWindowManager().getDefaultDisplay().getHeight();
//            mapView.setZoomControlsPosition(new Point(screenWidth - cUtils.dp2px(50), screenHeight - cUtils.dp2px(170)));
//
//            // 设置指南针的位置
//            Point compassPoint = mBaiduMap.getCompassPosition();
//            mBaiduMap.setCompassPosition(
//                    new Point(compassPoint.x - cUtils.dp2px(10), compassPoint.y + cUtils.dp2px(60)));
//
//            if (null != orderList && orderList.size() > 0) {
//                showDataInMap();
//            }
//        });
//
//        mLocClient.registerLocationListener(location -> {
//            if (null == location) {
//                return;
//            }
//
//            MyLocationData locData = new MyLocationData.Builder()
//                    .accuracy(location.getRadius())
//                    .direction(locationDirection).latitude(location.getLatitude())
//                    .longitude(location.getLongitude()).build();
//            mBaiduMap.setMyLocationData(locData);
//
//            currentLatLng = new LatLng(location.getLatitude(), location.getLongitude());
//        });
//        mLocClient.start();
//    }
//
//    private void getOrderList() {
//        OrderBean orderBean = new OrderBean("0", String.valueOf(Value.listCountMax));
//        String jsonOrder = JsonUtils.createJsonString(orderBean);
//        try {
//            String aesOrder = JsonUtils.aes(jsonOrder);
//            callNet(this, InterfaceNet.Net_GetMissionList, aesOrder, new NetResultOperate() {
//                @Override
//                public void onSuccess(String content) {
//
//                    if (!StringUtils.isEmpty(content)) {
//                        Object obj = JsonUtils.parseJsonString(content, OrderBean.class);
//                        if (obj instanceof OrderBean) {
//                            OrderBean bean = (OrderBean) obj;
//                            orderList.addAll(bean.infolist);
//                            if (isMapAlreadyLoad) {
//                                showDataInMap();
//                            }
//                        }
//                    }
//                }
//
//                @Override
//                public void onDataEmpty(String content) {
//                    App.toast("无数据");
//                }
//
//                @Override
//                public void onDataEnd(String content) {
//                }
//            });
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    /**
//     * 在地图中将聚合点显示出来
//     */
//    private void showDataInMap() {
//        ClusterManager<MyItem> mClusterManager = new ClusterManager<>(this, mBaiduMap);
//        List<MyItem> items = new ArrayList<>();
//        for (OrderBean bean : orderList) {
//
//            double lat = 0;
//            double lon = 0;
//            try {
//                if ("1".equals(bean.getType())) {
//                    //1 收件
//                    lat = Double.valueOf(bean.getStartGpsY());
//                    lon = Double.valueOf(bean.getStartGpsX());
//                } else {
//                    lat = Double.valueOf(bean.getEndGpsY());
//                    lon = Double.valueOf(bean.getEndGpsX());
//                }
//
//                if (lat > Value.minLatlngValue && lon > Value.minLatlngValue) {
//                    items.add(new MyItem(new LatLng(lat, lon)));
//                }
//            } catch (Exception e) {
//            }
//        }
//        mClusterManager.addItems(items);
//        // 设置地图监听，当地图状态发生改变时，进行点聚合运算
//        mBaiduMap.setOnMapStatusChangeListener(mClusterManager);
//        // 设置maker点击时的响应
//        mBaiduMap.setOnMarkerClickListener(mClusterManager);
//        mClusterManager.setOnClusterClickListener(cluster -> {
////            App.toast("有" + cluster.getSize() + "个点");
//            return false;
//        });
//        mClusterManager.setOnClusterItemClickListener(item -> {
////            App.toast("点击单个Item");
//            return false;
//        });
//        mBaiduMap.animateMapStatus(MapStatusUpdateFactory.newMapStatus(new MapStatus.Builder().zoom(9).build()));
//    }
//
//    /**
//     * 回到当前位置
//     */
//    @Click(R.id.cv_return2CurrentLocation)
//    void return2CurrentLocation() {
//        if (null != currentLatLng) {
//            MapStatus mMapStatus = new MapStatus.Builder()
//                    .target(currentLatLng)
//                    .zoom(18)
//                    .build();
//            //定义MapStatusUpdate对象，以便描述地图状态将要发生的变化
//            MapStatusUpdate mMapStatusUpdate = MapStatusUpdateFactory.newMapStatus(mMapStatus);
//            //改变地图状态
//            mBaiduMap.animateMapStatus(mMapStatusUpdate);
//        }
//    }
//
//    /**
//     * 展开、关闭列表
//     */
//    @Click(R.id.view_holder)
//    void arrowIconClick() {
//        rv_searchResult.setVisibility(isListViewShow ? View.GONE : View.VISIBLE);
//        iv_arrowIcon.setImageResource(isListViewShow ? R.drawable.arrow_up : R.mipmap.com_drop);
//        isListViewShow = !isListViewShow;
//    }
//
//    /**
//     * 清除内容
//     */
//    @Click(R.id.iv_cleanBtn)
//    void cleanClick() {
//        App.toast("Hello");
//    }
//
//    /**
//     * 退出
//     */
//    @Click(R.id.cv_backBtn)
//    void back() {
//        finish();
//    }
//
//    @Override
//    protected void onDestroy() {
//        super.onDestroy();
//        mLocClient.stop();
//        mBaiduMap.setMyLocationEnabled(false); // 关闭定位图层
//        mapView.onDestroy();
//        animUtils.leftOutAnimation(_activity);
//    }
//
//    @Override
//    protected void onResume() {
//        super.onResume();
//        mapView.onResume();
//    }
//
//    @Override
//    protected void onPause() {
//        super.onPause();
//        mapView.onPause();
//    }
}